Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / NomadNet.git / files / nomadnet / ui / textui / Conversations.py

Displaying Raw • Download


nomadnet/ui/textui/Conversations.py 11ccc76d93e04da06ddbefbf3cf9013d75986679 (11ccc76d) Text, 54.64 KB

Tff7b72import T7ee787RNS
Tff7b72import T7ee787os
Tff7b72import T7ee787time
Tff7b72import T7ee787nomadnet
Tff7b72import T7ee787LXMF

Tff7b72import T7ee787urwid

Tff7b72from T7ee787datetime Tff7b72import Te6edf3datetime
Tff7b72from T7ee787nomadnetT7ee787.T7ee787Directory Tff7b72import Te6edf3DirectoryEntry
Tff7b72from T7ee787nomadnetT7ee787.T7ee787vendorT7ee787.T7ee787additional_urwid_widgets Tff7b72import Te6edf3IndicativeListBox

Tff7b72class T56d364ConversationListDisplayShortcutsTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3appTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3app

Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72= Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff[C-e] Peer Info [C-x] Delete [C-r] Sync [C-n] New [C-u] Ingest URI [C-g] FullscreenTa5d6ff"Tb4b4b4)Tb4b4b4, Ta5d6ff"Ta5d6ffshortcutbarTa5d6ff"Tb4b4b4)

Tff7b72class T56d364ConversationDisplayShortcutsTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3appTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3app

Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72= Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff[C-d] Send [C-p] Paper Msg [C-t] Title [C-k] Clear [C-w] Close [C-u] Purge [C-x] Clear History [C-o] SortTa5d6ff"Tb4b4b4)Tb4b4b4, Ta5d6ff"Ta5d6ffshortcutbarTa5d6ff"Tb4b4b4)

Tff7b72class T56d364ConversationsAreaTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffLineBoxTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffkeypressTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl eTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffedit_selected_in_directoryTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl xTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffdelete_selected_conversationTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl nTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffnew_conversationTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl uTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffingest_lxm_uriTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl rTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffsync_conversationsTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl gTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8fftoggle_fullscreenTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6fftabTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffmain_displayTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffheaderTa5d6ff"
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffupTa5d6ff" Tff7b72and Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffilbTff7b72.Td2a8fffirst_item_is_selectedTb4b4b4(Tb4b4b4) Tff7b72or Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffilbTff7b72.Td2a8ffbody_is_emptyTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffmain_displayTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffheaderTa5d6ff"
Tff7b72elseTb4b4b4:
Tff7b72return Tffa657superTb4b4b4(Te6edf3ConversationsAreaTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)

Tff7b72class T56d364DialogLineBoxTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffLineBoxTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffkeypressTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffescTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Tffa657superTb4b4b4(Te6edf3DialogLineBoxTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)

Tff7b72class T56d364ConversationsDisplayTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3list_width Tff7b72= T79c0ff0.33
Te6edf3given_list_width Tff7b72= T79c0ff52
Te6edf3cached_conversation_widgets Tff7b72= Tb4b4b4{Tb4b4b4}

Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3appTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3app
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffsync_dialog Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversation Tff7b72= Tff7b72None

Tff7b72def Td2a8ffdisp_list_shortcutsTb4b4b4(Te6edf3senderTb4b4b4, Te6edf3arg1Tb4b4b4, Te6edf3arg2Tb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffshortcuts_display Tff7b72= Tff7b72selfTff7b72.Td2a8fflist_shortcuts
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffmain_displayTff7b72.Td2a8ffupdate_active_shortcutsTb4b4b4(Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffupdate_listboxTb4b4b4(Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffcolumns_widget Tff7b72= Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(
Tb4b4b4[
T8b949e# (urwid.WEIGHT, ConversationsDisplay.list_width, self.listbox),
T8b949e# (urwid.WEIGHT, 1-ConversationsDisplay.list_width, self.make_conversation_widget(None))
Tb4b4b4(Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4, Tff7b72selfTff7b72.Td2a8fflistboxTb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff1Tb4b4b4, Tff7b72selfTff7b72.Td2a8ffmake_conversation_widgetTb4b4b4(Tff7b72NoneTb4b4b4)Tb4b4b4)
Tb4b4b4]Tb4b4b4,
Te6edf3dividecharsTff7b72=T79c0ff0Tb4b4b4, Te6edf3focus_columnTff7b72=T79c0ff0Tb4b4b4, Te6edf3box_columnsTff7b72=Tb4b4b4[T79c0ff0Tb4b4b4]
Tb4b4b4)

Tff7b72selfTff7b72.Td2a8fflist_shortcuts Tff7b72= Te6edf3ConversationListDisplayShortcutsTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffeditor_shortcuts Tff7b72= Te6edf3ConversationDisplayShortcutsTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTb4b4b4)

Tff7b72selfTff7b72.Td2a8ffshortcuts_display Tff7b72= Tff7b72selfTff7b72.Td2a8fflist_shortcuts
Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widget
Te6edf3nomadnetTff7b72.Td2a8ffConversationTff7b72.Td2a8ffcreated_callback Tff7b72= Tff7b72selfTff7b72.Td2a8ffupdate_conversation_list

Tff7b72def Td2a8fffocus_change_eventTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
T8b949e# This hack corrects buggy styling behaviour in IndicativeListBox
Tff7b72if Tff7b72not Tff7b72selfTff7b72.Td2a8ffdialog_openTb4b4b4:
Te6edf3ilb_position Tff7b72= Tff7b72selfTff7b72.Td2a8ffilbTff7b72.Td2a8ffget_selected_positionTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3ilb_position Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffilbTff7b72.Td2a8ffselect_itemTb4b4b4(Te6edf3ilb_positionTb4b4b4)

Tff7b72def Td2a8ffupdate_listboxTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3conversation_list_widgets Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72for Te6edf3conversation Tff7b72in Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffconversationsTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3conversation_list_widgetsTff7b72.Td2a8ffappendTb4b4b4(Tff7b72selfTff7b72.Td2a8ffconversation_list_widgetTb4b4b4(Te6edf3conversationTb4b4b4)Tb4b4b4)

Tff7b72selfTff7b72.Td2a8fflist_widgets Tff7b72= Te6edf3conversation_list_widgets
Tff7b72selfTff7b72.Td2a8ffilb Tff7b72= Te6edf3IndicativeListBoxTb4b4b4(
Tff7b72selfTff7b72.Td2a8fflist_widgetsTb4b4b4,
Te6edf3on_selection_changeTff7b72=Tff7b72selfTff7b72.Td2a8ffconversation_list_selectionTb4b4b4,
Te6edf3initialization_is_selection_changeTff7b72=Tff7b72FalseTb4b4b4,
Te6edf3highlight_offFocusTff7b72=Ta5d6ff"Ta5d6fflist_off_focusTa5d6ff"
Tb4b4b4)

Tff7b72selfTff7b72.Td2a8fflistbox Tff7b72= Te6edf3ConversationsAreaTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffFillerTb4b4b4(Tff7b72selfTff7b72.Td2a8ffilbTb4b4b4, Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4)Tb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffConversationsTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fflistboxTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self

Tff7b72def Td2a8ffdelete_selected_conversationTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72True
Te6edf3item Tff7b72= Tff7b72selfTff7b72.Td2a8ffilbTff7b72.Td2a8ffget_selected_itemTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3item Tff7b72== Tff7b72NoneTb4b4b4:
Tff7b72return
Te6edf3source_hash Tff7b72= Te6edf3itemTff7b72.Td2a8ffsource_hash

Tff7b72def Td2a8ffdismiss_dialogTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False

Tff7b72def Td2a8ffconfirmedTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffdelete_conversationTb4b4b4(Te6edf3source_hashTb4b4b4)
Te6edf3nomadnetTff7b72.Td2a8ffConversationTff7b72.Td2a8ffdelete_conversationTb4b4b4(Te6edf3source_hashTb4b4b4, Tff7b72selfTff7b72.Td2a8ffappTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)

Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(
Ta5d6ff"Ta5d6ffDelete conversation withTffea00\nTa5d6ff"Tff7b72+Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffdirectoryTff7b72.Td2a8ffsimplest_display_strTb4b4b4(Tffa657bytesTff7b72.Td2a8fffromhexTb4b4b4(Te6edf3source_hashTb4b4b4)Tb4b4b4)Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffYesTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3confirmedTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffNoTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)Tb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff?Ta5d6ff"
Tb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8fflistbox

Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Te6edf3dialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)

T8b949e# options = self.columns_widget.options(urwid.WEIGHT, ConversationsDisplay.list_width)
Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffGIVENTb4b4b4, Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Te6edf3optionsTb4b4b4)

Tff7b72def Td2a8ffedit_selected_in_directoryTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3g Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffglyphs
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72True
Te6edf3item Tff7b72= Tff7b72selfTff7b72.Td2a8ffilbTff7b72.Td2a8ffget_selected_itemTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3item Tff7b72== Tff7b72NoneTb4b4b4:
Tff7b72return
Te6edf3source_hash_text Tff7b72= Te6edf3itemTff7b72.Td2a8ffsource_hash
Te6edf3display_name Tff7b72= Tff7b72selfTff7b72.Td2a8ffilbTff7b72.Td2a8ffget_selected_itemTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffdisplay_name
Tff7b72if Te6edf3display_name Tff7b72== Tff7b72NoneTb4b4b4:
Te6edf3display_name Tff7b72= Ta5d6ff"Ta5d6ff"

Te6edf3e_id Tff7b72= Te6edf3urwidTff7b72.Td2a8ffEditTb4b4b4(Te6edf3captionTff7b72=Ta5d6ff"Ta5d6ffAddr : Ta5d6ff"Tb4b4b4,Te6edf3edit_textTff7b72=Te6edf3source_hash_textTb4b4b4)
Te6edf3t_id Tff7b72= Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ffAddr : Ta5d6ff"Tff7b72+Te6edf3source_hash_textTb4b4b4)
Te6edf3e_name Tff7b72= Te6edf3urwidTff7b72.Td2a8ffEditTb4b4b4(Te6edf3captionTff7b72=Ta5d6ff"Ta5d6ffName : Ta5d6ff"Tb4b4b4,Te6edf3edit_textTff7b72=Te6edf3display_nameTb4b4b4)

Te6edf3selected_id_widget Tff7b72= Te6edf3t_id

Te6edf3untrusted_selected Tff7b72= Tff7b72False
Te6edf3unknown_selected Tff7b72= Tff7b72True
Te6edf3trusted_selected Tff7b72= Tff7b72False

Te6edf3direct_selected Tff7b72= Tff7b72True
Te6edf3propagated_selected Tff7b72= Tff7b72False

Tff7b72tryTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffdirectoryTff7b72.Td2a8fffindTb4b4b4(Tffa657bytesTff7b72.Td2a8fffromhexTb4b4b4(Te6edf3source_hash_textTb4b4b4)Tb4b4b4)Tb4b4b4:
Te6edf3trust_level Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffdirectoryTff7b72.Td2a8fftrust_levelTb4b4b4(Tffa657bytesTff7b72.Td2a8fffromhexTb4b4b4(Te6edf3source_hash_textTb4b4b4)Tb4b4b4)
Tff7b72if Te6edf3trust_level Tff7b72== Te6edf3DirectoryEntryTff7b72.Td2a8ffUNTRUSTEDTb4b4b4:
Te6edf3untrusted_selected Tff7b72= Tff7b72True
Te6edf3unknown_selected Tff7b72= Tff7b72False
Te6edf3trusted_selected Tff7b72= Tff7b72False
Tff7b72elif Te6edf3trust_level Tff7b72== Te6edf3DirectoryEntryTff7b72.Td2a8ffUNKNOWNTb4b4b4:
Te6edf3untrusted_selected Tff7b72= Tff7b72False
Te6edf3unknown_selected Tff7b72= Tff7b72True
Te6edf3trusted_selected Tff7b72= Tff7b72False
Tff7b72elif Te6edf3trust_level Tff7b72== Te6edf3DirectoryEntryTff7b72.Td2a8ffTRUSTEDTb4b4b4:
Te6edf3untrusted_selected Tff7b72= Tff7b72False
Te6edf3unknown_selected Tff7b72= Tff7b72False
Te6edf3trusted_selected Tff7b72= Tff7b72True

Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffdirectoryTff7b72.Td2a8ffpreferred_deliveryTb4b4b4(Tffa657bytesTff7b72.Td2a8fffromhexTb4b4b4(Te6edf3source_hash_textTb4b4b4)Tb4b4b4) Tff7b72== Te6edf3DirectoryEntryTff7b72.Td2a8ffPROPAGATEDTb4b4b4:
Te6edf3direct_selected Tff7b72= Tff7b72False
Te6edf3propagated_selected Tff7b72= Tff7b72True
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Tff7b72pass

Te6edf3trust_button_group Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3r_untrusted Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3trust_button_groupTb4b4b4, Ta5d6ff"Ta5d6ffUntrustedTa5d6ff"Tb4b4b4, Te6edf3stateTff7b72=Te6edf3untrusted_selectedTb4b4b4)
Te6edf3r_unknown Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3trust_button_groupTb4b4b4, Ta5d6ff"Ta5d6ffUnknownTa5d6ff"Tb4b4b4, Te6edf3stateTff7b72=Te6edf3unknown_selectedTb4b4b4)
Te6edf3r_trusted Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3trust_button_groupTb4b4b4, Ta5d6ff"Ta5d6ffTrustedTa5d6ff"Tb4b4b4, Te6edf3stateTff7b72=Te6edf3trusted_selectedTb4b4b4)

Te6edf3method_button_group Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3r_direct Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3method_button_groupTb4b4b4, Ta5d6ff"Ta5d6ffDeliver directlyTa5d6ff"Tb4b4b4, Te6edf3stateTff7b72=Te6edf3direct_selectedTb4b4b4)
Te6edf3r_propagated Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3method_button_groupTb4b4b4, Ta5d6ff"Ta5d6ffUse propagation nodesTa5d6ff"Tb4b4b4, Te6edf3stateTff7b72=Te6edf3propagated_selectedTb4b4b4)

Tff7b72def Td2a8ffdismiss_dialogTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False

Tff7b72def Td2a8ffconfirmedTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3display_name Tff7b72= Te6edf3e_nameTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Te6edf3source_hash Tff7b72= Tffa657bytesTff7b72.Td2a8fffromhexTb4b4b4(Te6edf3e_idTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3trust_level Tff7b72= Te6edf3DirectoryEntryTff7b72.Td2a8ffUNTRUSTED
Tff7b72if Te6edf3r_unknownTff7b72.Td2a8ffstate Tff7b72== Tff7b72TrueTb4b4b4:
Te6edf3trust_level Tff7b72= Te6edf3DirectoryEntryTff7b72.Td2a8ffUNKNOWN
Tff7b72elif Te6edf3r_trustedTff7b72.Td2a8ffstate Tff7b72== Tff7b72TrueTb4b4b4:
Te6edf3trust_level Tff7b72= Te6edf3DirectoryEntryTff7b72.Td2a8ffTRUSTED

Te6edf3delivery Tff7b72= Te6edf3DirectoryEntryTff7b72.Td2a8ffDIRECT
Tff7b72if Te6edf3r_propagatedTff7b72.Td2a8ffstate Tff7b72== Tff7b72TrueTb4b4b4:
Te6edf3delivery Tff7b72= Te6edf3DirectoryEntryTff7b72.Td2a8ffPROPAGATED

Te6edf3entry Tff7b72= Te6edf3DirectoryEntryTb4b4b4(Te6edf3source_hashTb4b4b4, Te6edf3display_nameTb4b4b4, Te6edf3trust_levelTb4b4b4, Te6edf3preferred_deliveryTff7b72=Te6edf3deliveryTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffdirectoryTff7b72.Td2a8ffrememberTb4b4b4(Te6edf3entryTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffmain_displayTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffnetwork_displayTff7b72.Td2a8ffdirectory_change_callbackTb4b4b4(Tb4b4b4)
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffCould not save directory entry. The contained exception was: Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_VERBOSETb4b4b4)
Tff7b72if Tff7b72not Te6edf3dialog_pileTff7b72.Td2a8fferror_displayTb4b4b4:
Te6edf3dialog_pileTff7b72.Td2a8fferror_display Tff7b72= Tff7b72True
Te6edf3options Tff7b72= Te6edf3dialog_pileTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3height_typeTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8ffcontentsTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3optionsTb4b4b4)Tb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8ffcontentsTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Tb4b4b4(Ta5d6ff"Ta5d6fferror_textTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffCould not save entry. Check your input.Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4)Tb4b4b4,
Te6edf3optionsTb4b4b4,Tb4b4b4)
Tb4b4b4)

Te6edf3source_is_known Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffdirectoryTff7b72.Td2a8ffis_knownTb4b4b4(Tffa657bytesTff7b72.Td2a8fffromhexTb4b4b4(Te6edf3source_hash_textTb4b4b4)Tb4b4b4)
Tff7b72if Te6edf3source_is_knownTb4b4b4:
Te6edf3known_section Tff7b72= Te6edf3urwidTff7b72.Td2a8ffDividerTb4b4b4(Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffdivider1Ta5d6ff"Tb4b4b4]Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72def Td2a8ffquery_actionTb4b4b4(Te6edf3senderTb4b4b4, Te6edf3user_dataTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffclose_conversation_by_hashTb4b4b4(Te6edf3user_dataTb4b4b4)
Te6edf3nomadnetTff7b72.Td2a8ffConversationTff7b72.Td2a8ffquery_for_peerTb4b4b4(Te6edf3user_dataTb4b4b4)
Te6edf3options Tff7b72= Te6edf3dialog_pileTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3height_typeTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8ffcontents Tff7b72= Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ffQuery sentTa5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3optionsTb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4, Te6edf3optionsTb4b4b4)
Tb4b4b4]
Te6edf3query_button Tff7b72= Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffQuery network for keysTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3query_actionTb4b4b4, Te6edf3user_dataTff7b72=Te6edf3source_hash_textTb4b4b4)
Te6edf3known_section Tff7b72= Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffDividerTb4b4b4(Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffdivider1Ta5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffinfoTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(
Ta5d6ff"Ta5d6ffThe identity of this peer is not known, and you cannot currently send messages to it. Ta5d6ff"
Ta5d6ff"Ta5d6ffYou can query the network to obtain the identity.Tffea00\nTa5d6ff"Tb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3query_buttonTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffDividerTb4b4b4(Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffdivider1Ta5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)

Te6edf3dialog_pile Tff7b72= Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3selected_id_widgetTb4b4b4,
Te6edf3e_nameTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffDividerTb4b4b4(Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffdivider1Ta5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4,
Te6edf3r_untrustedTb4b4b4,
Te6edf3r_unknownTb4b4b4,
Te6edf3r_trustedTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffDividerTb4b4b4(Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffdivider1Ta5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4,
Te6edf3r_directTb4b4b4,
Te6edf3r_propagatedTb4b4b4,
Te6edf3known_sectionTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffSaveTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3confirmedTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffBackTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8fferror_display Tff7b72= Tff7b72False

Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(Te6edf3dialog_pileTb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffPeer InfoTa5d6ff"Tb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8fflistbox

Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Te6edf3dialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)

T8b949e# options = self.columns_widget.options(urwid.WEIGHT, ConversationsDisplay.list_width)
Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffGIVENTb4b4b4, Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Te6edf3optionsTb4b4b4)

Tff7b72def Td2a8ffnew_conversationTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72True
Te6edf3source_hash Tff7b72= Ta5d6ff"Ta5d6ff"
Te6edf3display_name Tff7b72= Ta5d6ff"Ta5d6ff"

Te6edf3e_id Tff7b72= Te6edf3urwidTff7b72.Td2a8ffEditTb4b4b4(Te6edf3captionTff7b72=Ta5d6ff"Ta5d6ffAddr : Ta5d6ff"Tb4b4b4,Te6edf3edit_textTff7b72=Te6edf3source_hashTb4b4b4)
Te6edf3e_name Tff7b72= Te6edf3urwidTff7b72.Td2a8ffEditTb4b4b4(Te6edf3captionTff7b72=Ta5d6ff"Ta5d6ffName : Ta5d6ff"Tb4b4b4,Te6edf3edit_textTff7b72=Te6edf3display_nameTb4b4b4)

Te6edf3trust_button_group Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3r_untrusted Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3trust_button_groupTb4b4b4, Ta5d6ff"Ta5d6ffUntrustedTa5d6ff"Tb4b4b4)
Te6edf3r_unknown Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3trust_button_groupTb4b4b4, Ta5d6ff"Ta5d6ffUnknownTa5d6ff"Tb4b4b4, Te6edf3stateTff7b72=Tff7b72TrueTb4b4b4)
Te6edf3r_trusted Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3trust_button_groupTb4b4b4, Ta5d6ff"Ta5d6ffTrustedTa5d6ff"Tb4b4b4)

Tff7b72def Td2a8ffdismiss_dialogTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False

Tff7b72def Td2a8ffconfirmedTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3existing_conversations Tff7b72= Te6edf3nomadnetTff7b72.Td2a8ffConversationTff7b72.Td2a8ffconversation_listTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTb4b4b4)
Te6edf3display_name Tff7b72= Te6edf3e_nameTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Te6edf3source_hash_text Tff7b72= Te6edf3e_idTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffstripTb4b4b4(Tb4b4b4)
Te6edf3source_hash Tff7b72= Tffa657bytesTff7b72.Td2a8fffromhexTb4b4b4(Te6edf3source_hash_textTb4b4b4)
Te6edf3trust_level Tff7b72= Te6edf3DirectoryEntryTff7b72.Td2a8ffUNTRUSTED
Tff7b72if Te6edf3r_unknownTff7b72.Td2a8ffstate Tff7b72== Tff7b72TrueTb4b4b4:
Te6edf3trust_level Tff7b72= Te6edf3DirectoryEntryTff7b72.Td2a8ffUNKNOWN
Tff7b72elif Te6edf3r_trustedTff7b72.Td2a8ffstate Tff7b72== Tff7b72TrueTb4b4b4:
Te6edf3trust_level Tff7b72= Te6edf3DirectoryEntryTff7b72.Td2a8ffTRUSTED

Tff7b72if Tff7b72not Te6edf3source_hash Tff7b72in Tb4b4b4[Te6edf3cTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72for Te6edf3c Tff7b72in Te6edf3existing_conversationsTb4b4b4]Tb4b4b4:
Te6edf3entry Tff7b72= Te6edf3DirectoryEntryTb4b4b4(Te6edf3source_hashTb4b4b4, Te6edf3display_nameTb4b4b4, Te6edf3trust_levelTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffdirectoryTff7b72.Td2a8ffrememberTb4b4b4(Te6edf3entryTb4b4b4)

Te6edf3new_conversation Tff7b72= Te6edf3nomadnetTff7b72.Td2a8ffConversationTb4b4b4(Te6edf3source_hash_textTb4b4b4, Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3initiatorTff7b72=Tff7b72TrueTb4b4b4)

Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffdisplay_conversationTb4b4b4(Te6edf3source_hash_textTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False

Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffCould not start conversation. The contained exception was: Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_VERBOSETb4b4b4)
Tff7b72if Tff7b72not Te6edf3dialog_pileTff7b72.Td2a8fferror_displayTb4b4b4:
Te6edf3dialog_pileTff7b72.Td2a8fferror_display Tff7b72= Tff7b72True
Te6edf3options Tff7b72= Te6edf3dialog_pileTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3height_typeTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8ffcontentsTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3optionsTb4b4b4)Tb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8ffcontentsTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(
Tb4b4b4(Ta5d6ff"Ta5d6fferror_textTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffCould not start conversation. Check your input.Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3optionsTb4b4b4,
Tb4b4b4)Tb4b4b4)

Te6edf3dialog_pile Tff7b72= Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3e_idTb4b4b4,
Te6edf3e_nameTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3r_untrustedTb4b4b4,
Te6edf3r_unknownTb4b4b4,
Te6edf3r_trustedTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffCreateTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3confirmedTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffBackTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8fferror_display Tff7b72= Tff7b72False

Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(Te6edf3dialog_pileTb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffNew ConversationTa5d6ff"Tb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8fflistbox

Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Te6edf3dialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)

T8b949e# options = self.columns_widget.options(urwid.WEIGHT, ConversationsDisplay.list_width)
Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffGIVENTb4b4b4, Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Te6edf3optionsTb4b4b4)

Tff7b72def Td2a8ffingest_lxm_uriTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72True
Te6edf3lxm_uri Tff7b72= Ta5d6ff"Ta5d6ff"
Te6edf3e_uri Tff7b72= Te6edf3urwidTff7b72.Td2a8ffEditTb4b4b4(Te6edf3captionTff7b72=Ta5d6ff"Ta5d6ffURI : Ta5d6ff"Tb4b4b4,Te6edf3edit_textTff7b72=Te6edf3lxm_uriTb4b4b4)

Tff7b72def Td2a8ffdismiss_dialogTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False

Tff7b72def Td2a8ffconfirmedTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72tryTb4b4b4:
Te6edf3local_delivery_signal Tff7b72= Ta5d6ff"Ta5d6fflocal_delivery_occurredTa5d6ff"
Te6edf3duplicate_signal Tff7b72= Ta5d6ff"Ta5d6ffduplicate_lxmTa5d6ff"
Te6edf3lxm_uri Tff7b72= Te6edf3e_uriTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffstripTb4b4b4(Tb4b4b4)

Te6edf3ingest_result Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffingest_lxm_uriTb4b4b4(
Te6edf3lxm_uriTb4b4b4,
Te6edf3signal_local_deliveryTff7b72=Te6edf3local_delivery_signalTb4b4b4,
Te6edf3signal_duplicateTff7b72=Te6edf3duplicate_signal
Tb4b4b4)

Tff7b72if Te6edf3ingest_result Tff7b72== Tff7b72FalseTb4b4b4:
Tff7b72raise Tf85149ValueErrorTb4b4b4(Ta5d6ff"Ta5d6ffThe URI contained no decodable messagesTa5d6ff"Tb4b4b4)
Tff7b72elif Te6edf3ingest_result Tff7b72== Te6edf3local_delivery_signalTb4b4b4:
Te6edf3rdialog_pile Tff7b72= Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ffMessage was decoded, decrypted successfully, and added to your conversation list.Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.6Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.4Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)
Te6edf3rdialog_pileTff7b72.Td2a8fferror_display Tff7b72= Tff7b72False

Te6edf3rdialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(Te6edf3rdialog_pileTb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffIngest message URITa5d6ff"Tb4b4b4)
Te6edf3rdialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8fflistbox

Te6edf3roverlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Te6edf3rdialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)

Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffGIVENTb4b4b4, Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3roverlayTb4b4b4, Te6edf3optionsTb4b4b4)
Tff7b72elif Te6edf3ingest_result Tff7b72== Te6edf3duplicate_signalTb4b4b4:
Te6edf3rdialog_pile Tff7b72= Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ffThe decoded message has already been processed by the LXMF Router, and will not be ingested again.Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.6Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.4Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)
Te6edf3rdialog_pileTff7b72.Td2a8fferror_display Tff7b72= Tff7b72False

Te6edf3rdialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(Te6edf3rdialog_pileTb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffIngest message URITa5d6ff"Tb4b4b4)
Te6edf3rdialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8fflistbox

Te6edf3roverlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Te6edf3rdialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)

Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffGIVENTb4b4b4, Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3roverlayTb4b4b4, Te6edf3optionsTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffenable_nodeTb4b4b4:
Te6edf3propagation_text Tff7b72= Ta5d6ff"Ta5d6ffThe decoded message was not addressed to this LXMF address, but has been added to the propagation node queues, and will be distributed on the propagation network.Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3propagation_text Tff7b72= Ta5d6ff"Ta5d6ffThe decoded message was not addressed to this LXMF address, and has been discarded.Ta5d6ff"

Te6edf3rdialog_pile Tff7b72= Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Te6edf3propagation_textTb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.6Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.4Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)
Te6edf3rdialog_pileTff7b72.Td2a8fferror_display Tff7b72= Tff7b72False

Te6edf3rdialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(Te6edf3rdialog_pileTb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffIngest message URITa5d6ff"Tb4b4b4)
Te6edf3rdialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8fflistbox

Te6edf3roverlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Te6edf3rdialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)

Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffGIVENTb4b4b4, Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3roverlayTb4b4b4, Te6edf3optionsTb4b4b4)

Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffCould not ingest LXM URI. The contained exception was: Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_VERBOSETb4b4b4)
Tff7b72if Tff7b72not Te6edf3dialog_pileTff7b72.Td2a8fferror_displayTb4b4b4:
Te6edf3dialog_pileTff7b72.Td2a8fferror_display Tff7b72= Tff7b72True
Te6edf3options Tff7b72= Te6edf3dialog_pileTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3height_typeTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8ffcontentsTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3optionsTb4b4b4)Tb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8ffcontentsTff7b72.Td2a8ffappendTb4b4b4(Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Tb4b4b4(Ta5d6ff"Ta5d6fferror_textTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffCould ingest LXM from URI data. Check your input.Ta5d6ff"Tb4b4b4)Tb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4)Tb4b4b4, Te6edf3optionsTb4b4b4)Tb4b4b4)

Te6edf3dialog_pile Tff7b72= Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3e_uriTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffIngestTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3confirmedTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffBackTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)
Te6edf3dialog_pileTff7b72.Td2a8fferror_display Tff7b72= Tff7b72False

Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(Te6edf3dialog_pileTb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffIngest message URITa5d6ff"Tb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8fflistbox

Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Te6edf3dialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)

Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffGIVENTb4b4b4, Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Te6edf3optionsTb4b4b4)

Tff7b72def Td2a8ffdelete_conversationTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3source_hashTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3source_hash Tff7b72in Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTb4b4b4:
Te6edf3conversation Tff7b72= Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTb4b4b4[Te6edf3source_hashTb4b4b4]
Tff7b72selfTff7b72.Td2a8ffclose_conversationTb4b4b4(Te6edf3conversationTb4b4b4)

Tff7b72def Td2a8fftoggle_fullscreenTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_width Tff7b72!= T79c0ff0Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsaved_list_width Tff7b72= Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_width
Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_width Tff7b72= T79c0ff0
Tff7b72elseTb4b4b4:
Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_width Tff7b72= Tff7b72selfTff7b72.Td2a8ffsaved_list_width

Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffsync_conversationsTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3g Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffglyphs
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72True
Tff7b72def Td2a8ffdismiss_dialogTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffsync_dialog Tff7b72= Tff7b72None
Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffpropagation_transfer_state Tff7b72>Tff7b72= Te6edf3LXMFTff7b72.Td2a8ffLXMRouterTff7b72.Td2a8ffPR_COMPLETETb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffcancel_lxmf_syncTb4b4b4(Tb4b4b4)

Te6edf3max_messages_group Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3r_mall Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3max_messages_groupTb4b4b4, Ta5d6ff"Ta5d6ffDownload allTa5d6ff"Tb4b4b4, Te6edf3stateTff7b72=Tff7b72TrueTb4b4b4)
Te6edf3r_mlim Tff7b72= Te6edf3urwidTff7b72.Td2a8ffRadioButtonTb4b4b4(Te6edf3max_messages_groupTb4b4b4, Ta5d6ff"Ta5d6ffLimit toTa5d6ff"Tb4b4b4, Te6edf3stateTff7b72=Tff7b72FalseTb4b4b4)
Te6edf3ie_lim Tff7b72= Te6edf3urwidTff7b72.Td2a8ffIntEditTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4, T79c0ff5Tb4b4b4)
Te6edf3rbs Tff7b72= Te6edf3urwidTff7b72.Td2a8ffGridFlowTb4b4b4(Tb4b4b4[Te6edf3r_mlimTb4b4b4, Te6edf3ie_limTb4b4b4]Tb4b4b4, T79c0ff12Tb4b4b4, T79c0ff1Tb4b4b4, T79c0ff0Tb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffLEFTTb4b4b4)

Tff7b72def Td2a8ffsync_nowTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Te6edf3limit Tff7b72= Tff7b72None
Tff7b72if Te6edf3r_mlimTff7b72.Td2a8ffget_stateTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3limit Tff7b72= Te6edf3ie_limTff7b72.Td2a8ffvalueTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffrequest_lxmf_syncTb4b4b4(Te6edf3limitTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_sync_dialogTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffcancel_syncTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffcancel_lxmf_syncTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_sync_dialogTb4b4b4(Tb4b4b4)

Te6edf3cancel_button Tff7b72= Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffCloseTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)
Te6edf3sync_progress Tff7b72= Te6edf3SyncProgressBarTb4b4b4(Ta5d6ff"Ta5d6ffprogress_emptyTa5d6ff" Tb4b4b4, Ta5d6ff"Ta5d6ffprogress_fullTa5d6ff"Tb4b4b4, Te6edf3currentTff7b72=Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffget_sync_progressTb4b4b4(Tb4b4b4)Tb4b4b4, Te6edf3doneTff7b72=T79c0ff1.0Tb4b4b4, Te6edf3sattTff7b72=Tff7b72NoneTb4b4b4)

Te6edf3real_sync_button Tff7b72= Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffSync NowTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3sync_nowTb4b4b4)
Te6edf3hidden_sync_button Tff7b72= Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffCancel SyncTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3cancel_syncTb4b4b4)

Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffget_sync_statusTb4b4b4(Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6ffIdleTa5d6ff" Tff7b72or Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffpropagation_transfer_state Tff7b72>Tff7b72= Te6edf3LXMFTff7b72.Td2a8ffLXMRouterTff7b72.Td2a8ffPR_COMPLETETb4b4b4:
Te6edf3sync_button Tff7b72= Te6edf3real_sync_button
Tff7b72elseTb4b4b4:
Te6edf3sync_button Tff7b72= Te6edf3hidden_sync_button

Te6edf3button_columns Tff7b72= Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3sync_buttonTb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3cancel_buttonTb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Te6edf3real_sync_buttonTff7b72.Td2a8ffbc Tff7b72= Te6edf3button_columns

Te6edf3pn_ident Tff7b72= Tff7b72None
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffget_default_propagation_nodeTb4b4b4(Tb4b4b4) Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3pn_hash Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffget_default_propagation_nodeTb4b4b4(Tb4b4b4)
Te6edf3pn_ident Tff7b72= Te6edf3RNSTff7b72.Td2a8ffIdentityTff7b72.Td2a8ffrecallTb4b4b4(Te6edf3pn_hashTb4b4b4)

Tff7b72if Te6edf3pn_ident Tff7b72== Tff7b72NoneTb4b4b4:
Te6edf3RNSTff7b72.Td2a8fflogTb4b4b4(Ta5d6ff"Ta5d6ffPropagation node identity is unknown, requesting from network...Ta5d6ff"Tb4b4b4, Te6edf3RNSTff7b72.Td2a8ffLOG_DEBUGTb4b4b4)
Te6edf3RNSTff7b72.Td2a8ffTransportTff7b72.Td2a8ffrequest_pathTb4b4b4(Te6edf3pn_hashTb4b4b4)

Tff7b72if Te6edf3pn_ident Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3node_hash Tff7b72= Te6edf3RNSTff7b72.Td2a8ffDestinationTff7b72.Td2a8ffhash_from_name_and_identityTb4b4b4(Ta5d6ff"Ta5d6ffnomadnetwork.nodeTa5d6ff"Tb4b4b4, Te6edf3pn_identTb4b4b4)
Te6edf3pn_entry Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffdirectoryTff7b72.Td2a8fffindTb4b4b4(Te6edf3node_hashTb4b4b4)
Te6edf3pn_display_str Tff7b72= Ta5d6ff"Ta5d6ff Ta5d6ff"
Tff7b72if Te6edf3pn_entry Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3pn_display_str Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3pn_entryTff7b72.Td2a8ffdisplay_nameTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3pn_display_str Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3RNSTff7b72.Td2a8ffprettyhexrepTb4b4b4(Te6edf3pn_hashTb4b4b4)

Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tff7b72+Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffnodeTa5d6ff"Tb4b4b4]Tff7b72+Te6edf3pn_display_strTb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffDividerTb4b4b4(Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffdivider1Ta5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4,
Te6edf3sync_progressTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffDividerTb4b4b4(Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffdivider1Ta5d6ff"Tb4b4b4]Tb4b4b4)Tb4b4b4,
Te6edf3r_mallTb4b4b4,
Te6edf3rbsTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3button_columns
Tb4b4b4]Tb4b4b4)Tb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffMessage SyncTa5d6ff"
Tb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3button_columns Tff7b72= Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff" Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3cancel_buttonTb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ffNo trusted nodes found, cannot sync!Tffea00\nTa5d6ff"Tb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(
Ta5d6ff"Ta5d6ffTo synchronise messages from the network, Ta5d6ff"
Ta5d6ff"Ta5d6ffone or more nodes must be marked as trusted in the Known Nodes list, Ta5d6ff"
Ta5d6ff"Ta5d6ffor a node must manually be selected as the default propagation node. Ta5d6ff"
Ta5d6ff"Ta5d6ffNomad Network will then automatically sync from the nearest trusted node, Ta5d6ff"
Ta5d6ff"Ta5d6ffor the manually selected one.Ta5d6ff"Tb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffLEFTTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4,
Te6edf3button_columns
Tb4b4b4]Tb4b4b4)Tb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffMessage SyncTa5d6ff"
Tb4b4b4)

Te6edf3dialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3dialogTff7b72.Td2a8ffsync_progress Tff7b72= Te6edf3sync_progress
Te6edf3dialogTff7b72.Td2a8ffcancel_button Tff7b72= Te6edf3cancel_button
Te6edf3dialogTff7b72.Td2a8ffreal_sync_button Tff7b72= Te6edf3real_sync_button
Te6edf3dialogTff7b72.Td2a8ffhidden_sync_button Tff7b72= Te6edf3hidden_sync_button
Te6edf3dialogTff7b72.Td2a8ffbc Tff7b72= Te6edf3button_columns

Tff7b72selfTff7b72.Td2a8ffsync_dialog Tff7b72= Te6edf3dialog
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8fflistbox

Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Te6edf3dialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)

T8b949e# options = self.columns_widget.options(urwid.WEIGHT, ConversationsDisplay.list_width)
Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffGIVENTb4b4b4, Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Te6edf3optionsTb4b4b4)

Tff7b72def Td2a8ffupdate_sync_dialogTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3loop Tff7b72= Tff7b72NoneTb4b4b4, Te6edf3sender Tff7b72= Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72and Tff7b72selfTff7b72.Td2a8ffsync_dialog Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsync_dialogTff7b72.Td2a8ffsync_progressTff7b72.Td2a8ffset_completionTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffget_sync_progressTb4b4b4(Tb4b4b4)Tb4b4b4)

Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffget_sync_statusTb4b4b4(Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6ffIdleTa5d6ff" Tff7b72or Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffmessage_routerTff7b72.Td2a8ffpropagation_transfer_state Tff7b72>Tff7b72= Te6edf3LXMFTff7b72.Td2a8ffLXMRouterTff7b72.Td2a8ffPR_COMPLETETb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsync_dialogTff7b72.Td2a8ffbcTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffsync_dialogTff7b72.Td2a8ffreal_sync_buttonTb4b4b4, Tff7b72selfTff7b72.Td2a8ffsync_dialogTff7b72.Td2a8ffbcTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4)Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsync_dialogTff7b72.Td2a8ffbcTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffsync_dialogTff7b72.Td2a8ffhidden_sync_buttonTb4b4b4, Tff7b72selfTff7b72.Td2a8ffsync_dialogTff7b72.Td2a8ffbcTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4)Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffloopTff7b72.Td2a8ffset_alarm_inTb4b4b4(T79c0ff0.2Tb4b4b4, Tff7b72selfTff7b72.Td2a8ffupdate_sync_dialogTb4b4b4)


Tff7b72def Td2a8ffconversation_list_selectionTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3arg1Tb4b4b4, Te6edf3arg2Tb4b4b4)Tb4b4b4:
Tff7b72pass

Tff7b72def Td2a8ffupdate_conversation_listTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3ilb_position Tff7b72= Tff7b72selfTff7b72.Td2a8ffilbTff7b72.Td2a8ffget_selected_positionTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_listboxTb4b4b4(Tb4b4b4)
T8b949e# options = self.columns_widget.options(urwid.WEIGHT, ConversationsDisplay.list_width)
Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffGIVENTb4b4b4, Te6edf3ConversationsDisplayTff7b72.Td2a8ffgiven_list_widthTb4b4b4)
Tff7b72if Tff7b72not Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72and Tff7b72selfTff7b72.Td2a8ffsync_dialog Tff7b72!= Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8fflistboxTb4b4b4, Te6edf3optionsTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8fflistbox
Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Tff7b72selfTff7b72.Td2a8ffsync_dialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=Te6edf3urwidTff7b72.Td2a8ffRELATIVE_100Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcolumns_widgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Te6edf3optionsTb4b4b4)

Tff7b72if Te6edf3ilb_position Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffilbTff7b72.Td2a8ffselect_itemTb4b4b4(Te6edf3ilb_positionTb4b4b4)
Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffuiTff7b72.Td2a8ffloopTff7b72.Td2a8ffdraw_screenTb4b4b4(Tb4b4b4)

Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffmain_displayTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactive_display Tff7b72== Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffmain_displayTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffconversations_displayTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversation Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffconversation_is_unreadTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversationTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffmark_conversation_readTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversationTb4b4b4)
Tff7b72tryTb4b4b4:
Tff7b72if Te6edf3osTff7b72.Td2a8ffpathTff7b72.Td2a8ffisfileTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffconversationpath Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversation Tff7b72+ Ta5d6ff"Ta5d6ff/unreadTa5d6ff"Tb4b4b4)Tb4b4b4:
Te6edf3osTff7b72.Td2a8ffunlinkTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffconversationpath Tff7b72+ Ta5d6ff"Ta5d6ff/Ta5d6ff" Tff7b72+ Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversation Tff7b72+ Ta5d6ff"Ta5d6ff/unreadTa5d6ff"Tb4b4b4)
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Tff7b72raise Te6edf3e




Tff7b72def Td2a8ffdisplay_conversationTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4, Te6edf3source_hashTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversation Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffconversation_is_unreadTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversationTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffmark_conversation_readTb4b4b4(Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversationTb4b4b4)

Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversation Tff7b72= Te6edf3source_hash
T8b949e# options = self.widget.options(urwid.WEIGHT, 1-ConversationsDisplay.list_width)
Te6edf3options Tff7b72= Tff7b72selfTff7b72.Td2a8ffwidgetTff7b72.Td2a8ffoptionsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff1Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffwidgetTff7b72.Td2a8ffcontentsTb4b4b4[T79c0ff1Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffmake_conversation_widgetTb4b4b4(Te6edf3source_hashTb4b4b4)Tb4b4b4, Te6edf3optionsTb4b4b4)
Tff7b72if Te6edf3source_hash Tff7b72== Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffwidgetTff7b72.Td2a8fffocus_position Tff7b72= T79c0ff0
Tff7b72elseTb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffconversation_is_unreadTb4b4b4(Te6edf3source_hashTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffmark_conversation_readTb4b4b4(Te6edf3source_hashTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_conversation_listTb4b4b4(Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffwidgetTff7b72.Td2a8fffocus_position Tff7b72= T79c0ff1
Te6edf3conversation_position Tff7b72= Tff7b72None
Te6edf3index Tff7b72= T79c0ff0
Tff7b72for Te6edf3widget Tff7b72in Tff7b72selfTff7b72.Td2a8fflist_widgetsTb4b4b4:
Tff7b72if Te6edf3widgetTff7b72.Td2a8ffsource_hash Tff7b72== Te6edf3source_hashTb4b4b4:
Te6edf3conversation_position Tff7b72= Te6edf3index
Te6edf3index Tff7b72+Tff7b72= T79c0ff1

Tff7b72if Te6edf3conversation_position Tff7b72!= Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffilbTff7b72.Td2a8ffselect_itemTb4b4b4(Te6edf3conversation_positionTb4b4b4)

Tff7b72def Td2a8ffmake_conversation_widgetTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3source_hashTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3source_hash Tff7b72in Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTb4b4b4:
Te6edf3conversation_widget Tff7b72= Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTb4b4b4[Te6edf3source_hashTb4b4b4]
Tff7b72if Te6edf3source_hash Tff7b72!= Tff7b72NoneTb4b4b4:
Te6edf3conversation_widgetTff7b72.Td2a8ffupdate_message_widgetsTb4b4b4(Te6edf3replaceTff7b72=Tff7b72TrueTb4b4b4)

Te6edf3conversation_widgetTff7b72.Td2a8ffcheck_editor_allowedTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3conversation_widget
Tff7b72elseTb4b4b4:
Te6edf3widget Tff7b72= Te6edf3ConversationWidgetTb4b4b4(Te6edf3source_hashTb4b4b4)
Te6edf3widgetTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTb4b4b4[Te6edf3source_hashTb4b4b4] Tff7b72= Te6edf3widget

Te6edf3widgetTff7b72.Td2a8ffcheck_editor_allowedTb4b4b4(Tb4b4b4)
Tff7b72return Te6edf3widget

Tff7b72def Td2a8ffclose_conversation_by_hashTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3conversation_hashTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3conversation_hash Tff7b72in Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTb4b4b4:
Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTff7b72.Td2a8ffpopTb4b4b4(Te6edf3conversation_hashTb4b4b4)

Tff7b72if Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversation Tff7b72== Te6edf3conversation_hashTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdisplay_conversationTb4b4b4(Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4, Te6edf3source_hashTff7b72=Tff7b72NoneTb4b4b4)

Tff7b72def Td2a8ffclose_conversationTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3conversationTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3conversationTff7b72.Td2a8ffsource_hash Tff7b72in Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTb4b4b4:
Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTff7b72.Td2a8ffpopTb4b4b4(Te6edf3conversationTff7b72.Td2a8ffsource_hashTb4b4b4)

Tff7b72if Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversation Tff7b72== Te6edf3conversationTff7b72.Td2a8ffsource_hashTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdisplay_conversationTb4b4b4(Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4, Te6edf3source_hashTff7b72=Tff7b72NoneTb4b4b4)


Tff7b72def Td2a8ffconversation_list_widgetTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3conversationTb4b4b4)Tb4b4b4:
Te6edf3trust_level Tff7b72= Te6edf3conversationTb4b4b4[T79c0ff2Tb4b4b4]
Te6edf3display_name Tff7b72= Te6edf3conversationTb4b4b4[T79c0ff1Tb4b4b4]
Te6edf3source_hash Tff7b72= Te6edf3conversationTb4b4b4[T79c0ff0Tb4b4b4]
Te6edf3unread Tff7b72= Te6edf3conversationTb4b4b4[T79c0ff4Tb4b4b4]

Te6edf3g Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffglyphs

Tff7b72if Te6edf3trust_level Tff7b72== Te6edf3DirectoryEntryTff7b72.Td2a8ffUNTRUSTEDTb4b4b4:
Te6edf3symbol Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffcrossTa5d6ff"Tb4b4b4]
Te6edf3style Tff7b72= Ta5d6ff"Ta5d6fflist_untrustedTa5d6ff"
Te6edf3focus_style Tff7b72= Ta5d6ff"Ta5d6fflist_focus_untrustedTa5d6ff"
Tff7b72elif Te6edf3trust_level Tff7b72== Te6edf3DirectoryEntryTff7b72.Td2a8ffUNKNOWNTb4b4b4:
Te6edf3symbol Tff7b72= Ta5d6ff"Ta5d6ff?Ta5d6ff"
Te6edf3style Tff7b72= Ta5d6ff"Ta5d6fflist_unknownTa5d6ff"
Te6edf3focus_style Tff7b72= Ta5d6ff"Ta5d6fflist_focusTa5d6ff"
Tff7b72elif Te6edf3trust_level Tff7b72== Te6edf3DirectoryEntryTff7b72.Td2a8ffTRUSTEDTb4b4b4:
Te6edf3symbol Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffcheckTa5d6ff"Tb4b4b4]
Te6edf3style Tff7b72= Ta5d6ff"Ta5d6fflist_trustedTa5d6ff"
Te6edf3focus_style Tff7b72= Ta5d6ff"Ta5d6fflist_focus_trustedTa5d6ff"
Tff7b72elif Te6edf3trust_level Tff7b72== Te6edf3DirectoryEntryTff7b72.Td2a8ffWARNINGTb4b4b4:
Te6edf3symbol Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffwarningTa5d6ff"Tb4b4b4]
Te6edf3style Tff7b72= Ta5d6ff"Ta5d6fflist_warningTa5d6ff"
Te6edf3focus_style Tff7b72= Ta5d6ff"Ta5d6fflist_focusTa5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3symbol Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffwarningTa5d6ff"Tb4b4b4]
Te6edf3style Tff7b72= Ta5d6ff"Ta5d6fflist_untrustedTa5d6ff"
Te6edf3focus_style Tff7b72= Ta5d6ff"Ta5d6fflist_focus_untrustedTa5d6ff"

Te6edf3display_text Tff7b72= Te6edf3symbol

Tff7b72if Te6edf3display_name Tff7b72!= Tff7b72None Tff7b72and Te6edf3display_name Tff7b72!= Ta5d6ff"Ta5d6ff"Tb4b4b4:
Te6edf3display_text Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3display_name

Tff7b72if Te6edf3trust_level Tff7b72!= Te6edf3DirectoryEntryTff7b72.Td2a8ffTRUSTEDTb4b4b4:
Te6edf3display_text Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff <Ta5d6ff"Tff7b72+Te6edf3source_hashTff7b72+Ta5d6ff"Ta5d6ff>Ta5d6ff"
Tff7b72if Te6edf3trust_level Tff7b72!= Te6edf3DirectoryEntryTff7b72.Td2a8ffUNTRUSTEDTb4b4b4:
Tff7b72if Te6edf3unreadTb4b4b4:
Tff7b72if Te6edf3source_hash Tff7b72!= Tff7b72selfTff7b72.Td2a8ffcurrently_displayed_conversationTb4b4b4:
Te6edf3display_text Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffunreadTa5d6ff"Tb4b4b4]


Te6edf3widget Tff7b72= Te6edf3ListEntryTb4b4b4(Te6edf3display_textTb4b4b4)
Te6edf3urwidTff7b72.Td2a8ffconnect_signalTb4b4b4(Te6edf3widgetTb4b4b4, Ta5d6ff"Ta5d6ffclickTa5d6ff"Tb4b4b4, Tff7b72selfTff7b72.Td2a8ffdisplay_conversationTb4b4b4, Te6edf3conversationTb4b4b4[T79c0ff0Tb4b4b4]Tb4b4b4)
Te6edf3display_widget Tff7b72= Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3widgetTb4b4b4, Te6edf3styleTb4b4b4, Te6edf3focus_styleTb4b4b4)
Te6edf3display_widgetTff7b72.Td2a8ffsource_hash Tff7b72= Te6edf3source_hash
Te6edf3display_widgetTff7b72.Td2a8ffdisplay_name Tff7b72= Te6edf3display_name

Tff7b72return Te6edf3display_widget


Tff7b72def Td2a8ffshortcutsTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3focus_path Tff7b72= Tff7b72selfTff7b72.Td2a8ffwidgetTff7b72.Td2a8ffget_focus_pathTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3focus_pathTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72== T79c0ff0Tb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8fflist_shortcuts
Tff7b72elif Te6edf3focus_pathTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72== T79c0ff1Tb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8ffeditor_shortcuts
Tff7b72elseTb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8fflist_shortcuts

Tff7b72class T56d364ListEntryTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4)Tb4b4b4:
Te6edf3_selectable Tff7b72= Tff7b72True

Te6edf3signals Tff7b72= Tb4b4b4[Ta5d6ff"Ta5d6ffclickTa5d6ff"Tb4b4b4]

Tff7b72def Td2a8ffkeypressTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4:
T8b949e"""
Send 'click' signal on 'activate' command.
"""
Tff7b72if Tff7b72selfTff7b72.Td2a8ff_command_mapTb4b4b4[Te6edf3keyTb4b4b4] Tff7b72!= Te6edf3urwidTff7b72.Td2a8ffACTIVATETb4b4b4:
Tff7b72return Te6edf3key

Tff7b72selfTff7b72.Td2a8ff_emitTb4b4b4(Ta5d6ff'Ta5d6ffclickTa5d6ff'Tb4b4b4)

Tff7b72def Td2a8ffmouse_eventTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3eventTb4b4b4, Te6edf3buttonTb4b4b4, Te6edf3xTb4b4b4, Te6edf3yTb4b4b4, Te6edf3focusTb4b4b4)Tb4b4b4:
T8b949e"""
Send 'click' signal on button 1 press.
"""
Tff7b72if Te6edf3button Tff7b72!= T79c0ff1 Tff7b72or Tff7b72not Te6edf3urwidTff7b72.Td2a8ffutilTff7b72.Td2a8ffis_mouse_pressTb4b4b4(Te6edf3eventTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72False

Tff7b72selfTff7b72.Td2a8ff_emitTb4b4b4(Ta5d6ff'Ta5d6ffclickTa5d6ff'Tb4b4b4)
Tff7b72return Tff7b72True

Tff7b72class T56d364MessageEditTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffEditTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffkeypressTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl dTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffsend_messageTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl pTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffpaper_messageTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl kTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffclear_editorTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffupTa5d6ff"Tb4b4b4:
Te6edf3y Tff7b72= Tff7b72selfTff7b72.Td2a8ffget_cursor_coordsTb4b4b4(Te6edf3sizeTb4b4b4)Tb4b4b4[T79c0ff1Tb4b4b4]
Tff7b72if Te6edf3y Tff7b72== T79c0ff0Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8fffull_editor_active Tff7b72and Tff7b72selfTff7b72.Td2a8ffname Tff7b72== Ta5d6ff"Ta5d6fftitle_editorTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffbodyTa5d6ff"
Tff7b72elif Tff7b72not Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8fffull_editor_active Tff7b72and Tff7b72selfTff7b72.Td2a8ffname Tff7b72== Ta5d6ff"Ta5d6ffcontent_editorTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffbodyTa5d6ff"
Tff7b72elseTb4b4b4:
Tff7b72return Tffa657superTb4b4b4(Te6edf3MessageEditTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Tffa657superTb4b4b4(Te6edf3MessageEditTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Tffa657superTb4b4b4(Te6edf3MessageEditTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)


Tff7b72class T56d364ConversationFrameTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffFrameTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffkeypressTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fffocus_position Tff7b72== Ta5d6ff"Ta5d6ffbodyTa5d6ff"Tb4b4b4:
Tff7b72if Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffupTa5d6ff" Tff7b72and Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffmessagelistTff7b72.Td2a8fftop_is_visibleTb4b4b4:
Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffuiTff7b72.Td2a8ffmain_displayTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffheaderTa5d6ff"
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffdownTa5d6ff" Tff7b72and Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffmessagelistTff7b72.Td2a8ffbottom_is_visibleTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6fffooterTa5d6ff"
Tff7b72elseTb4b4b4:
Tff7b72return Tffa657superTb4b4b4(Te6edf3ConversationFrameTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl kTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffclear_editorTb4b4b4(Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Tffa657superTb4b4b4(Te6edf3ConversationFrameTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)

Tff7b72class T56d364ConversationWidgetTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWidgetWrapTb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3source_hashTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)
Te6edf3g Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffglyphs
Tff7b72if Te6edf3source_hash Tff7b72== Tff7b72NoneTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframe Tff7b72= Tff7b72None
Te6edf3display_widget Tff7b72= Te6edf3urwidTff7b72.Td2a8ffLineBoxTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffFillerTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Tffea00\nTa5d6ff No conversation selectedTa5d6ff"Tb4b4b4)Tb4b4b4, Ta5d6ff"Ta5d6fftopTa5d6ff"Tb4b4b4)Tb4b4b4)
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Te6edf3display_widgetTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72if Te6edf3source_hash Tff7b72in Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTb4b4b4:
Tff7b72return Te6edf3ConversationsDisplayTff7b72.Td2a8ffcached_conversation_widgetsTb4b4b4[Te6edf3source_hashTb4b4b4]
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsource_hash Tff7b72= Te6edf3source_hash
Tff7b72selfTff7b72.Td2a8ffconversation Tff7b72= Te6edf3nomadnetTff7b72.Td2a8ffConversationTb4b4b4(Te6edf3source_hashTb4b4b4, Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffmessage_widgets Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72selfTff7b72.Td2a8ffsort_by_timestamp Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffupdating_message_widgets Tff7b72= Tff7b72False

Tff7b72selfTff7b72.Td2a8ffupdate_message_widgetsTb4b4b4(Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffconversationTff7b72.Td2a8ffregister_changed_callbackTb4b4b4(Tff7b72selfTff7b72.Td2a8ffconversation_changedTb4b4b4)

T8b949e#title_editor = MessageEdit(caption="\u270E", edit_text="", multiline=False)
Te6edf3title_editor Tff7b72= Te6edf3MessageEditTb4b4b4(Te6edf3captionTff7b72=Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3edit_textTff7b72=Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3multilineTff7b72=Tff7b72FalseTb4b4b4)
Te6edf3title_editorTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3title_editorTff7b72.Td2a8ffname Tff7b72= Ta5d6ff"Ta5d6fftitle_editorTa5d6ff"

T8b949e#msg_editor = MessageEdit(caption="\u270E", edit_text="", multiline=True)
Te6edf3msg_editor Tff7b72= Te6edf3MessageEditTb4b4b4(Te6edf3captionTff7b72=Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3edit_textTff7b72=Ta5d6ff"Ta5d6ff"Tb4b4b4, Te6edf3multilineTff7b72=Tff7b72TrueTb4b4b4)
Te6edf3msg_editorTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3msg_editorTff7b72.Td2a8ffname Tff7b72= Ta5d6ff"Ta5d6ffcontent_editorTa5d6ff"

Te6edf3header Tff7b72= Tff7b72None
Tff7b72if Tff7b72selfTff7b72.Td2a8ffconversationTff7b72.Td2a8fftrust_level Tff7b72== Te6edf3DirectoryEntryTff7b72.Td2a8ffUNTRUSTEDTb4b4b4:
Te6edf3header Tff7b72= Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffPaddingTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffwarningTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Warning: Conversation with untrusted peer Ta5d6ff"Tff7b72+Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffwarningTa5d6ff"Tb4b4b4]Tb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4)Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffmsg_warning_untrustedTa5d6ff"Tb4b4b4,
Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffminimal_editor Tff7b72= Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3msg_editorTb4b4b4, Ta5d6ff"Ta5d6ffmsg_editorTa5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffminimal_editorTff7b72.Td2a8ffname Tff7b72= Ta5d6ff"Ta5d6ffminimal_editorTa5d6ff"

Te6edf3title_columns Tff7b72= Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(T79c0ff8Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ffTitleTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3title_editorTb4b4b4, Ta5d6ff"Ta5d6ffmsg_editorTa5d6ff"Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)

Te6edf3content_columns Tff7b72= Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(T79c0ff8Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ffContentTa5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3msg_editorTb4b4b4, Ta5d6ff"Ta5d6ffmsg_editorTa5d6ff"Tb4b4b4)
Tb4b4b4]Tb4b4b4)

Tff7b72selfTff7b72.Td2a8fffull_editor Tff7b72= Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3title_columnsTb4b4b4,
Te6edf3content_columns
Tb4b4b4]Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fffull_editorTff7b72.Td2a8ffname Tff7b72= Ta5d6ff"Ta5d6fffull_editorTa5d6ff"

Tff7b72selfTff7b72.Td2a8ffcontent_editor Tff7b72= Te6edf3msg_editor
Tff7b72selfTff7b72.Td2a8fftitle_editor Tff7b72= Te6edf3title_editor
Tff7b72selfTff7b72.Td2a8fffull_editor_active Tff7b72= Tff7b72False

Tff7b72selfTff7b72.Td2a8ffframe Tff7b72= Te6edf3ConversationFrameTb4b4b4(
Tff7b72selfTff7b72.Td2a8ffmessagelistTb4b4b4,
Te6edf3headerTff7b72=Te6edf3headerTb4b4b4,
Te6edf3footerTff7b72=Tff7b72selfTff7b72.Td2a8ffminimal_editorTb4b4b4,
Te6edf3focus_partTff7b72=Ta5d6ff"Ta5d6fffooterTa5d6ff"
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self

Tff7b72selfTff7b72.Td2a8ffdisplay_widget Tff7b72= Te6edf3urwidTff7b72.Td2a8ffLineBoxTb4b4b4(
Tff7b72selfTff7b72.Td2a8ffframe
Tb4b4b4)
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffdisplay_widgetTb4b4b4)

Tff7b72def Td2a8ffclear_history_dialogTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffdismiss_dialogTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffconversation_changedTb4b4b4(Tff7b72NoneTb4b4b4)

Tff7b72def Td2a8ffconfirmedTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffconversationTff7b72.Td2a8ffclear_historyTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffconversation_changedTb4b4b4(Tff7b72NoneTb4b4b4)


Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ffClear conversation historyTffea00\nTa5d6ff"Tb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffYesTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3confirmedTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.45Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffNoTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)Tb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff?Ta5d6ff"
Tb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8ffmessagelist

Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(
Te6edf3dialogTb4b4b4,
Te6edf3bottomTb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Te6edf3widthTff7b72=T79c0ff34Tb4b4b4,
Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4,
Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4,
Te6edf3leftTff7b72=T79c0ff2Tb4b4b4,
Te6edf3rightTff7b72=T79c0ff2Tb4b4b4,
Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6ffbodyTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffoptionsTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffbodyTa5d6ff"
Tff7b72def Td2a8fftoggle_editorTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8fffull_editor_activeTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6fffooterTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffminimal_editorTb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72selfTff7b72.Td2a8fffull_editor_active Tff7b72= Tff7b72False
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6fffooterTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8fffull_editorTb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72selfTff7b72.Td2a8fffull_editor_active Tff7b72= Tff7b72True

Tff7b72def Td2a8ffcheck_editor_allowedTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3g Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffglyphs
Tff7b72if Tff7b72selfTff7b72.Td2a8ffframeTb4b4b4:
Te6edf3allowed Tff7b72= Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffdirectoryTff7b72.Td2a8ffis_knownTb4b4b4(Tffa657bytesTff7b72.Td2a8fffromhexTb4b4b4(Tff7b72selfTff7b72.Td2a8ffsource_hashTb4b4b4)Tb4b4b4)
Tff7b72if Te6edf3allowedTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6fffooterTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffminimal_editorTb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72elseTb4b4b4:
Te6edf3warning Tff7b72= Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffPaddingTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(
Ta5d6ff"Tffea00\nTa5d6ff"Tff7b72+Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffinfoTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Tffea00\nTffea00\nTa5d6ffYou cannot currently message this peer, since its identity keys are not known. Ta5d6ff"
Ta5d6ff"Ta5d6ffThe keys have been requested from the network and should arrive shortly, if available. Ta5d6ff"
Ta5d6ff"Ta5d6ffClose this conversation and reopen it to try again.Tffea00\nTffea00\nTa5d6ff"
Ta5d6ff"Ta5d6ffTo query the network manually, select this conversation in the conversation list, Ta5d6ff"
Ta5d6ff"Ta5d6ffpress Ctrl-E, and use the query button.Tffea00\nTa5d6ff"Tb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Tb4b4b4)Tb4b4b4)Tb4b4b4,
Ta5d6ff"Ta5d6ffmsg_header_cautionTa5d6ff"Tb4b4b4,
Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6fffooterTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3warningTb4b4b4, Tff7b72NoneTb4b4b4)

Tff7b72def Td2a8fftoggle_focus_areaTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3name Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72tryTb4b4b4:
Te6edf3name Tff7b72= Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffget_focus_widgetsTb4b4b4(Tb4b4b4)Tb4b4b4[T79c0ff0Tb4b4b4]Tff7b72.Td2a8ffname
Tff7b72except Tf85149Exception Tff7b72as Te6edf3eTb4b4b4:
Tff7b72pass

Tff7b72if Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffmessagelistTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6fffooterTa5d6ff"
Tff7b72elif Te6edf3name Tff7b72== Ta5d6ff"Ta5d6ffminimal_editorTa5d6ff" Tff7b72or Te6edf3name Tff7b72== Ta5d6ff"Ta5d6fffull_editorTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffbodyTa5d6ff"

Tff7b72def Td2a8ffkeypressTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3key Tff7b72== Ta5d6ff"Ta5d6fftabTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8fftoggle_focus_areaTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl wTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcloseTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl uTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffconversationTff7b72.Td2a8ffpurge_failedTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffconversation_changedTb4b4b4(Tff7b72NoneTb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl tTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8fftoggle_editorTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl xTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffclear_history_dialogTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl gTa5d6ff"Tb4b4b4:
Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffuiTff7b72.Td2a8ffmain_displayTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffconversations_displayTff7b72.Td2a8fftoggle_fullscreenTb4b4b4(Tb4b4b4)
Tff7b72elif Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl oTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsort_by_timestamp Tff7b72^Tff7b72= Tff7b72True
Tff7b72selfTff7b72.Td2a8ffconversation_changedTb4b4b4(Tff7b72NoneTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Tffa657superTb4b4b4(Te6edf3ConversationWidgetTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)

Tff7b72def Td2a8ffconversation_changedTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3conversationTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffupdate_message_widgetsTb4b4b4(Te6edf3replace Tff7b72= Tff7b72TrueTb4b4b4)

Tff7b72def Td2a8ffupdate_message_widgetsTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3replace Tff7b72= Tff7b72FalseTb4b4b4)Tb4b4b4:
Tff7b72while Tff7b72selfTff7b72.Td2a8ffupdating_message_widgetsTb4b4b4:
Te6edf3timeTff7b72.Td2a8ffsleepTb4b4b4(T79c0ff0.5Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffupdating_message_widgets Tff7b72= Tff7b72True
Tff7b72selfTff7b72.Td2a8ffmessage_widgets Tff7b72= Tb4b4b4[Tb4b4b4]
Te6edf3added_hashes Tff7b72= Tb4b4b4[Tb4b4b4]
Tff7b72for Te6edf3message Tff7b72in Tff7b72selfTff7b72.Td2a8ffconversationTff7b72.Td2a8ffmessagesTb4b4b4:
Te6edf3message_hash Tff7b72= Te6edf3messageTff7b72.Td2a8ffget_hashTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3message_hash Tff7b72in Te6edf3added_hashesTb4b4b4:
Te6edf3added_hashesTff7b72.Td2a8ffappendTb4b4b4(Te6edf3message_hashTb4b4b4)
Te6edf3message_widget Tff7b72= Te6edf3LXMessageWidgetTb4b4b4(Te6edf3messageTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffmessage_widgetsTff7b72.Td2a8ffappendTb4b4b4(Te6edf3message_widgetTb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffsort_by_timestampTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffmessage_widgetsTff7b72.Td2a8ffsortTb4b4b4(Te6edf3keyTff7b72=Tff7b72lambda Te6edf3mTb4b4b4: Te6edf3mTff7b72.Td2a8fftimestampTb4b4b4, Te6edf3reverseTff7b72=Tff7b72FalseTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffmessage_widgetsTff7b72.Td2a8ffsortTb4b4b4(Te6edf3keyTff7b72=Tff7b72lambda Te6edf3mTb4b4b4: Te6edf3mTff7b72.Td2a8ffsort_timestampTb4b4b4, Te6edf3reverseTff7b72=Tff7b72FalseTb4b4b4)

Tff7b72from T7ee787nomadnetT7ee787.T7ee787vendorT7ee787.T7ee787additional_urwid_widgets Tff7b72import Te6edf3IndicativeListBox
Tff7b72selfTff7b72.Td2a8ffmessagelist Tff7b72= Te6edf3IndicativeListBoxTb4b4b4(Tff7b72selfTff7b72.Td2a8ffmessage_widgetsTb4b4b4, Te6edf3position Tff7b72= Tffa657lenTb4b4b4(Tff7b72selfTff7b72.Td2a8ffmessage_widgetsTb4b4b4)Tff7b72-T79c0ff1Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffmessagelistTff7b72.Td2a8ffname Tff7b72= Ta5d6ff"Ta5d6ffmessagelistTa5d6ff"
Tff7b72if Te6edf3replaceTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6ffbodyTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffmessagelistTb4b4b4, Tff7b72NoneTb4b4b4)
Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffuiTff7b72.Td2a8ffloopTff7b72.Td2a8ffdraw_screenTb4b4b4(Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffupdating_message_widgets Tff7b72= Tff7b72False


Tff7b72def Td2a8ffclear_editorTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffcontent_editorTff7b72.Td2a8ffset_edit_textTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)
Tff7b72selfTff7b72.Td2a8fftitle_editorTff7b72.Td2a8ffset_edit_textTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)

Tff7b72def Td2a8ffsend_messageTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3content Tff7b72= Tff7b72selfTff7b72.Td2a8ffcontent_editorTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Te6edf3title Tff7b72= Tff7b72selfTff7b72.Td2a8fftitle_editorTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3content Tff7b72== Ta5d6ff"Ta5d6ff"Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffconversationTff7b72.Td2a8ffsendTb4b4b4(Te6edf3contentTb4b4b4, Te6edf3titleTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffclear_editorTb4b4b4(Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72pass

Tff7b72def Td2a8ffpaper_message_savedTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3pathTb4b4b4)Tb4b4b4:
Te6edf3g Tff7b72= Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffglyphs
Tff7b72def Td2a8ffdismiss_dialogTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffconversation_changedTb4b4b4(Tff7b72NoneTb4b4b4)

Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ffThe paper message was saved to:Tffea00\nTffea00\nTa5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3pathTb4b4b4)Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.6Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.4Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)Tb4b4b4, Te6edf3titleTff7b72=Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffpapermsgTa5d6ff"Tb4b4b4]Tff7b72.Td2a8ffreplaceTb4b4b4(Ta5d6ff"Ta5d6ff Ta5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ff"Tb4b4b4)
Tb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8ffmessagelist

Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(Te6edf3dialogTb4b4b4, Te6edf3bottomTb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4, Te6edf3widthTff7b72=T79c0ff60Tb4b4b4, Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4, Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4, Te6edf3leftTff7b72=T79c0ff2Tb4b4b4, Te6edf3rightTff7b72=T79c0ff2Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6ffbodyTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffoptionsTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffbodyTa5d6ff"

Tff7b72def Td2a8ffprint_paper_message_qrTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3content Tff7b72= Tff7b72selfTff7b72.Td2a8ffcontent_editorTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Te6edf3title Tff7b72= Tff7b72selfTff7b72.Td2a8fftitle_editorTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3content Tff7b72== Ta5d6ff"Ta5d6ff"Tb4b4b4:
Tff7b72if Tff7b72selfTff7b72.Td2a8ffconversationTff7b72.Td2a8ffpaper_outputTb4b4b4(Te6edf3contentTb4b4b4, Te6edf3titleTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffclear_editorTb4b4b4(Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffpaper_message_failedTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffsave_paper_message_qrTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3content Tff7b72= Tff7b72selfTff7b72.Td2a8ffcontent_editorTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Te6edf3title Tff7b72= Tff7b72selfTff7b72.Td2a8fftitle_editorTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3content Tff7b72== Ta5d6ff"Ta5d6ff"Tb4b4b4:
Te6edf3output_result Tff7b72= Tff7b72selfTff7b72.Td2a8ffconversationTff7b72.Td2a8ffpaper_outputTb4b4b4(Te6edf3contentTb4b4b4, Te6edf3titleTb4b4b4, Te6edf3modeTff7b72=Ta5d6ff"Ta5d6ffsave_qrTa5d6ff"Tb4b4b4)
Tff7b72if Te6edf3output_result Tff7b72!= Tff7b72FalseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffclear_editorTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffpaper_message_savedTb4b4b4(Te6edf3output_resultTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffpaper_message_failedTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffsave_paper_message_uriTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3content Tff7b72= Tff7b72selfTff7b72.Td2a8ffcontent_editorTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Te6edf3title Tff7b72= Tff7b72selfTff7b72.Td2a8fftitle_editorTff7b72.Td2a8ffget_edit_textTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72not Te6edf3content Tff7b72== Ta5d6ff"Ta5d6ff"Tb4b4b4:
Te6edf3output_result Tff7b72= Tff7b72selfTff7b72.Td2a8ffconversationTff7b72.Td2a8ffpaper_outputTb4b4b4(Te6edf3contentTb4b4b4, Te6edf3titleTb4b4b4, Te6edf3modeTff7b72=Ta5d6ff"Ta5d6ffsave_uriTa5d6ff"Tb4b4b4)
Tff7b72if Te6edf3output_result Tff7b72!= Tff7b72FalseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffclear_editorTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffpaper_message_savedTb4b4b4(Te6edf3output_resultTb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72selfTff7b72.Td2a8ffpaper_message_failedTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffpaper_messageTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffdismiss_dialogTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffconversation_changedTb4b4b4(Tff7b72NoneTb4b4b4)

Tff7b72def Td2a8ffprint_qrTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Te6edf3dismiss_dialogTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffprint_paper_message_qrTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffsave_qrTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Te6edf3dismiss_dialogTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffsave_paper_message_qrTb4b4b4(Tb4b4b4)

Tff7b72def Td2a8ffsave_uriTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Te6edf3dismiss_dialogTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffsave_paper_message_uriTb4b4b4(Tb4b4b4)

Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(
Ta5d6ff"Ta5d6ffSelect the desired paper message output method.Tffea00\nTa5d6ffSaved files will be written to:Tffea00\nTffea00\nTa5d6ff"Tff7b72+Tffa657strTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTff7b72.Td2a8ffdownloads_pathTb4b4b4)Tff7b72+Ta5d6ff"Tffea00\nTa5d6ff"Tb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.5Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffPrint QRTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3print_qrTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.5Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffSave QRTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3save_qrTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.5Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffSave URITa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3save_uriTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.1Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.5Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffCancelTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)Tb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ffCreate Paper MessageTa5d6ff"
Tb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8ffmessagelist

Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(Te6edf3dialogTb4b4b4, Te6edf3bottomTb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4, Te6edf3widthTff7b72=T79c0ff60Tb4b4b4, Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4, Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4, Te6edf3leftTff7b72=T79c0ff2Tb4b4b4, Te6edf3rightTff7b72=T79c0ff2Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6ffbodyTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffoptionsTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffbodyTa5d6ff"

Tff7b72def Td2a8ffpaper_message_failedTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffdismiss_dialogTb4b4b4(Te6edf3senderTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdialog_open Tff7b72= Tff7b72False
Tff7b72selfTff7b72.Td2a8ffconversation_changedTb4b4b4(Tff7b72NoneTb4b4b4)

Te6edf3dialog Tff7b72= Te6edf3DialogLineBoxTb4b4b4(
Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(
Ta5d6ff"Ta5d6ffCould not output paper message,Tffea00\nTa5d6ffcheck your settings. See the logTffea00\nTa5d6fffile for any error messages.Tffea00\nTa5d6ff"Tb4b4b4,
Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4,
Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4(Tb4b4b4[
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.6Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWEIGHTTb4b4b4, T79c0ff0.4Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4(Ta5d6ff"Ta5d6ffOKTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3dismiss_dialogTb4b4b4)Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)
Tb4b4b4]Tb4b4b4)Tb4b4b4, Te6edf3titleTff7b72=Ta5d6ff"Ta5d6ff!Ta5d6ff"
Tb4b4b4)
Te6edf3dialogTff7b72.Td2a8ffdelegate Tff7b72= Tff7b72self
Te6edf3bottom Tff7b72= Tff7b72selfTff7b72.Td2a8ffmessagelist

Te6edf3overlay Tff7b72= Te6edf3urwidTff7b72.Td2a8ffOverlayTb4b4b4(Te6edf3dialogTb4b4b4, Te6edf3bottomTb4b4b4, Te6edf3alignTff7b72=Te6edf3urwidTff7b72.Td2a8ffCENTERTb4b4b4, Te6edf3widthTff7b72=T79c0ff34Tb4b4b4, Te6edf3valignTff7b72=Te6edf3urwidTff7b72.Td2a8ffMIDDLETb4b4b4, Te6edf3heightTff7b72=Te6edf3urwidTff7b72.Td2a8ffPACKTb4b4b4, Te6edf3leftTff7b72=T79c0ff2Tb4b4b4, Te6edf3rightTff7b72=T79c0ff2Tb4b4b4)

Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6ffbodyTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Te6edf3overlayTb4b4b4, Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffoptionsTb4b4b4(Tb4b4b4)Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8fffocus_position Tff7b72= Ta5d6ff"Ta5d6ffbodyTa5d6ff"

Tff7b72def Td2a8ffcloseTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffclose_conversationTb4b4b4(Tff7b72selfTb4b4b4)


Tff7b72class T56d364LXMessageWidgetTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffWidgetWrapTb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3messageTb4b4b4)Tb4b4b4:
Te6edf3app Tff7b72= Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)
Te6edf3g Tff7b72= Te6edf3appTff7b72.Td2a8ffuiTff7b72.Td2a8ffglyphs
Tff7b72selfTff7b72.Td2a8fftimestamp Tff7b72= Te6edf3messageTff7b72.Td2a8ffget_timestampTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffsort_timestamp Tff7b72= Te6edf3messageTff7b72.Td2a8ffsort_timestamp
Te6edf3time_format Tff7b72= Te6edf3appTff7b72.Td2a8fftime_format
Te6edf3message_time Tff7b72= Te6edf3datetimeTff7b72.Td2a8fffromtimestampTb4b4b4(Tff7b72selfTff7b72.Td2a8fftimestampTb4b4b4)
Te6edf3encryption_string Tff7b72= Ta5d6ff"Ta5d6ff"
Tff7b72if Te6edf3messageTff7b72.Td2a8ffget_transport_encryptedTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3encryption_string Tff7b72= Ta5d6ff"Ta5d6ff [Ta5d6ff"Tff7b72+Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffencryptedTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3messageTff7b72.Td2a8ffget_transport_encryptionTb4b4b4(Tb4b4b4)Tb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff]Ta5d6ff"
Tff7b72elseTb4b4b4:
Te6edf3encryption_string Tff7b72= Ta5d6ff"Ta5d6ff [Ta5d6ff"Tff7b72+Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffplaintextTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Tffa657strTb4b4b4(Te6edf3messageTff7b72.Td2a8ffget_transport_encryptionTb4b4b4(Tb4b4b4)Tb4b4b4)Tff7b72+Ta5d6ff"Ta5d6ff]Ta5d6ff"
Te6edf3title_string Tff7b72= Te6edf3message_timeTff7b72.Td2a8ffstrftimeTb4b4b4(Te6edf3time_formatTb4b4b4)Tff7b72+Te6edf3encryption_string

Tff7b72if Te6edf3appTff7b72.Td2a8fflxmf_destinationTff7b72.Td2a8ffhash Tff7b72== Te6edf3messageTff7b72.Td2a8fflxmTff7b72.Td2a8ffsource_hashTb4b4b4:
Tff7b72if Te6edf3messageTff7b72.Td2a8fflxmTff7b72.Td2a8ffstate Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffDELIVEREDTb4b4b4:
Te6edf3header_style Tff7b72= Ta5d6ff"Ta5d6ffmsg_header_deliveredTa5d6ff"
Te6edf3title_string Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffcheckTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3title_string
Tff7b72elif Te6edf3messageTff7b72.Td2a8fflxmTff7b72.Td2a8ffstate Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffFAILEDTb4b4b4:
Te6edf3header_style Tff7b72= Ta5d6ff"Ta5d6ffmsg_header_failedTa5d6ff"
Te6edf3title_string Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffcrossTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3title_string
Tff7b72elif Te6edf3messageTff7b72.Td2a8fflxmTff7b72.Td2a8ffmethod Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffPROPAGATED Tff7b72and Te6edf3messageTff7b72.Td2a8fflxmTff7b72.Td2a8ffstate Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffSENTTb4b4b4:
Te6edf3header_style Tff7b72= Ta5d6ff"Ta5d6ffmsg_header_propagatedTa5d6ff"
Te6edf3title_string Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3title_string
Tff7b72elif Te6edf3messageTff7b72.Td2a8fflxmTff7b72.Td2a8ffmethod Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffPAPER Tff7b72and Te6edf3messageTff7b72.Td2a8fflxmTff7b72.Td2a8ffstate Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffPAPERTb4b4b4:
Te6edf3header_style Tff7b72= Ta5d6ff"Ta5d6ffmsg_header_propagatedTa5d6ff"
Te6edf3title_string Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffpapermsgTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3title_string
Tff7b72elif Te6edf3messageTff7b72.Td2a8fflxmTff7b72.Td2a8ffstate Tff7b72== Te6edf3LXMFTff7b72.Td2a8ffLXMessageTff7b72.Td2a8ffSENTTb4b4b4:
Te6edf3header_style Tff7b72= Ta5d6ff"Ta5d6ffmsg_header_sentTa5d6ff"
Te6edf3title_string Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffsentTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3title_string
Tff7b72elseTb4b4b4:
Te6edf3header_style Tff7b72= Ta5d6ff"Ta5d6ffmsg_header_sentTa5d6ff"
Te6edf3title_string Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffarrow_rTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3title_string
Tff7b72elseTb4b4b4:
Tff7b72if Te6edf3messageTff7b72.Td2a8ffsignature_validatedTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3header_style Tff7b72= Ta5d6ff"Ta5d6ffmsg_header_okTa5d6ff"
Te6edf3title_string Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffcheckTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3title_string
Tff7b72elseTb4b4b4:
Te6edf3header_style Tff7b72= Ta5d6ff"Ta5d6ffmsg_header_cautionTa5d6ff"
Te6edf3title_string Tff7b72= Te6edf3gTb4b4b4[Ta5d6ff"Ta5d6ffwarningTa5d6ff"Tb4b4b4]Tff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Te6edf3messageTff7b72.Td2a8ffget_signature_descriptionTb4b4b4(Tb4b4b4) Tff7b72+ Ta5d6ff"Tffea00\nTa5d6ff Ta5d6ff" Tff7b72+ Te6edf3title_string

Tff7b72if Te6edf3messageTff7b72.Td2a8ffget_titleTb4b4b4(Tb4b4b4) Tff7b72!= Ta5d6ff"Ta5d6ff"Tb4b4b4:
Te6edf3title_string Tff7b72+Tff7b72= Ta5d6ff"Ta5d6ff | Ta5d6ff" Tff7b72+ Te6edf3messageTff7b72.Td2a8ffget_titleTb4b4b4(Tb4b4b4)

Te6edf3title Tff7b72= Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Te6edf3title_stringTb4b4b4)Tb4b4b4, Te6edf3header_styleTb4b4b4)

Te6edf3display_widget Tff7b72= Te6edf3urwidTff7b72.Td2a8ffPileTb4b4b4(Tb4b4b4[
Te6edf3titleTb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Te6edf3messageTff7b72.Td2a8ffget_contentTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4,
Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff"Tb4b4b4)
Tb4b4b4]Tb4b4b4)

Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Te6edf3display_widgetTb4b4b4)

Tff7b72class T56d364SyncProgressBarTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffProgressBarTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffget_textTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3status Tff7b72= Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffget_sync_statusTb4b4b4(Tb4b4b4)
Te6edf3show_percent Tff7b72= Te6edf3nomadnetTff7b72.Td2a8ffNomadNetworkAppTff7b72.Td2a8ffget_shared_instanceTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffsync_status_show_percentTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3show_percentTb4b4b4:
Tff7b72return Te6edf3statusTff7b72+Ta5d6ff"Ta5d6ff Ta5d6ff"Tff7b72+Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffget_textTb4b4b4(Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72return Te6edf3status


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────